User demands become increasingly sophisticated, creating a constant need for deploying new services on service delivery platforms such as IMS. The IMS architecture enables innovative and differentiated person-to-person and person-to-content multimedia services in a standardized manner. For example, IMS enables users to add media and participants to an established communication session, to handle presence and group management, and to shift between different communication domains and communication sessions. In order to re-use existing services as far as possible, existing services can be aggregated to form a composite service satisfying particular user demands. The 3rd Generation Partnership Project (3GPP) has proposed a Service Capability Interaction Manager (SCIM) that acts as a service broker in service interaction scenarios typically encountered in context with composite services.
Service composition refers to a technology, where end user services to be provided to user terminals, e.g. to personal computers, laptop computers, or mobile phones of a telecommunications network, are dynamically built by combining constituent services. Existing services which are aggregated to create a composite service are called constituent services in the concept of service composition. The selection of the constituent services as components of the composite service may be performed in real time when a user requests the composite service. The constituent services are described in terms of generic properties so that they can be selected based on these properties. Any service that provides the needed properties can be used as part of the composite service and consequently any suitable service within a pool of available services can be selected. The pool of available constituent services can change dynamically by adding new services or by removing existing ones. A composite service can therefore consist of different constituent services at each invocation. Thus, the set of constituent services that are actually included into a composite service is not necessarily static, but dependent on runtime conditions. The constituent services do not need to be specifically designed for service composition but they can also work as a single service.
Composite services address complex user requirements that can not be covered by standalone services. They can offer added value, e.g. in the form of new functionality, compared to the sum of the functionality of their building blocks. Constituent services to be used as part of a composite service are selected based on their descriptions. This description is denoted as the service model. The developer of a composite service specifies constraints which can determine which constituent services can be selected in the frame of the composite service. During execution of the composite service these constraints are evaluated by a composition entity and based on the service description a matching constituent service is selected to become part of the composite service.
An important parameter in service execution is the Quality of Service (QoS). QoS refers to properties of service execution that improve, for example, the user experience while using a service. The execution properties which are relevant for securing QoS depend on the type of service and therefore the provided functionality. For example, the experience of a user of a video streaming service depends on parameters like frame rate or frame drop rate or resolution of the video. On the other hand these properties are less relevant for a positioning service, where the latency until the result is delivered and the accuracy of the provided position might be the main quality factors.
A constituent service that performs a certain function and has certain properties may be used in different contexts. For example a service that provides the location of a mobile device might be used in order to check if a friend is in the same city or it might be used to get the user's own position in the context of a navigation application. In both cases the needed function is positioning. In the first case an accuracy of a few hundred meters is acceptable. Such accuracy might be enough in order to check if somebody is in a certain region or city, but it would be inappropriate for navigation purposes where an accuracy of a few meters is needed.
The above example shows that a constituent service may be selected based on the context of the general application but this may not be enough to secure the service functionality. There is therefore a need of appropriately selecting constituent services in the context of a composite service.